在 C# 中,可以使用 `System.Text.RegularExpressions` 命名空間中的 Regex 類來處理正則表達式。
string pattern = @"[0-9]+"; // 匹配一個或多個數字
Regex regex = new Regex(pattern);
使用 `Match` 方法來查找字串中的第一個匹配。
string input = "12345 abc 6789";
Match match = regex.Match(input);
if (match.Success)
{
string matchedValue = match.Value; // 匹配到的值: 12345
}
使用 `Matches` 方法來查找字串中的所有匹配。
string input = "apple,banana,grape";
regex = new Regex(@"[a-z]+") ;
MatchCollection matches = regex.Matches(input);
// apple banana grape
// matches[0] matches[1] matches[2]
foreach ( Match match2 in matches)
{
string matchedValue = match2.Value;
}
使用 `Replace` 方法來替換匹配的部分。
input = "Hello 123 world 456";
regex = new Regex(@"[0-9]+") ;
string replacement = "X";
string result = regex.Replace(input, replacement);
Console.WriteLine(result); // Hello X world X
string input = "我的電子郵件是john.doe@example.com, xx@abc.com請聯絡我。";
string pattern = @"[a-zA-Z0-9._%+-]+@[a-zA-Z0-9.-]+\.[a-zA-Z]{2,4}";
MatchCollection matches = Regex.Matches(input, pattern);
foreach (Match match in matches)
{
Console.WriteLine("找到電子郵件地址:" + match.Value);
}
// 找到電子郵件地址:john.doe@example.com
// 找到電子郵件地址:xx@abc.com
string input = "今天的日期是2023-09-26,明天是2023-09-27請注意。";
string pattern = @"\d{4}-\d{2}-\d{2}";
MatchCollection matches = Regex.Matches(input, pattern);
foreach (Match match in matches)
{
Console.WriteLine("找到日期:" + match.Value);
}
// 找到日期:2023-09-26
// 找到日期:2023-09-27
期望挑戰30天持續更新成功 ~ DAY13